import { IPSDEMobMDCtrl } from './ipsdemob-mdctrl';
import { PSDEListImpl } from './psdelist-impl';
import { IPSDEUIActionGroup } from '../../dataentity/uiaction/ipsdeuiaction-group';

export class PSDEMobMDCtrlImpl extends PSDEListImpl implements IPSDEMobMDCtrl {
  get mobListStyle(): 'ICONVIEW' | 'LISTVIEW' | 'SWIPERVIEW' | 'LISTVIEW2' | 'LISTVIEW3' | 'LISTVIEW4' | 'EXTVIEW1' | 'EXTVIEW2' | 'EXTVIEW3' | 'EXTVIEW4' | 'EXTVIEW5' {
    return this.M.mobListStyle;
  }

  protected psdeuiactiongroup: IPSDEUIActionGroup | null = null;

  getPSDEUIActionGroup(): IPSDEUIActionGroup | null {
    if (this.psdeuiactiongroup != null) return this.psdeuiactiongroup;
    const value = this.M.getPSDEUIActionGroup;
    if (value == null) {
      return null;
    }
    this.psdeuiactiongroup = this.getPSModel4('dataentity.uiaction.IPSDEUIActionGroup', value, 'getPSDEUIActionGroup') as IPSDEUIActionGroup;
    return this.psdeuiactiongroup;
  }

  get psDEUIActionGroup(): IPSDEUIActionGroup | null {
    return this.getPSDEUIActionGroup();
  }

  getPSDEUIActionGroupMust(): IPSDEUIActionGroup {
    const value = this.getPSDEUIActionGroup();
    if (value == null) {
      throw new Error('未指定界面行为组');
    }
    return value;
  }

  protected psdeuiactiongroup2: IPSDEUIActionGroup | null = null;

  getPSDEUIActionGroup2(): IPSDEUIActionGroup | null {
    if (this.psdeuiactiongroup2 != null) return this.psdeuiactiongroup2;
    const value = this.M.getPSDEUIActionGroup2;
    if (value == null) {
      return null;
    }
    this.psdeuiactiongroup2 = this.getPSModel4('dataentity.uiaction.IPSDEUIActionGroup', value, 'getPSDEUIActionGroup2') as IPSDEUIActionGroup;
    return this.psdeuiactiongroup2;
  }

  get psDEUIActionGroup2(): IPSDEUIActionGroup | null {
    return this.getPSDEUIActionGroup2();
  }

  getPSDEUIActionGroup2Must(): IPSDEUIActionGroup {
    const value = this.getPSDEUIActionGroup2();
    if (value == null) {
      throw new Error('未指定界面行为组2');
    }
    return value;
  }

  protected psdeuiactiongroup3: IPSDEUIActionGroup | null = null;

  getPSDEUIActionGroup3(): IPSDEUIActionGroup | null {
    if (this.psdeuiactiongroup3 != null) return this.psdeuiactiongroup3;
    const value = this.M.getPSDEUIActionGroup3;
    if (value == null) {
      return null;
    }
    this.psdeuiactiongroup3 = this.getPSModel4('dataentity.uiaction.IPSDEUIActionGroup', value, 'getPSDEUIActionGroup3') as IPSDEUIActionGroup;
    return this.psdeuiactiongroup3;
  }

  get psDEUIActionGroup3(): IPSDEUIActionGroup | null {
    return this.getPSDEUIActionGroup3();
  }

  getPSDEUIActionGroup3Must(): IPSDEUIActionGroup {
    const value = this.getPSDEUIActionGroup3();
    if (value == null) {
      throw new Error('未指定界面行为组3');
    }
    return value;
  }

  protected psdeuiactiongroup4: IPSDEUIActionGroup | null = null;

  getPSDEUIActionGroup4(): IPSDEUIActionGroup | null {
    if (this.psdeuiactiongroup4 != null) return this.psdeuiactiongroup4;
    const value = this.M.getPSDEUIActionGroup4;
    if (value == null) {
      return null;
    }
    this.psdeuiactiongroup4 = this.getPSModel4('dataentity.uiaction.IPSDEUIActionGroup', value, 'getPSDEUIActionGroup4') as IPSDEUIActionGroup;
    return this.psdeuiactiongroup4;
  }

  get psDEUIActionGroup4(): IPSDEUIActionGroup | null {
    return this.getPSDEUIActionGroup4();
  }

  getPSDEUIActionGroup4Must(): IPSDEUIActionGroup {
    const value = this.getPSDEUIActionGroup4();
    if (value == null) {
      throw new Error('未指定界面行为组4');
    }
    return value;
  }

  protected psdeuiactiongroup5: IPSDEUIActionGroup | null = null;

  getPSDEUIActionGroup5(): IPSDEUIActionGroup | null {
    if (this.psdeuiactiongroup5 != null) return this.psdeuiactiongroup5;
    const value = this.M.getPSDEUIActionGroup5;
    if (value == null) {
      return null;
    }
    this.psdeuiactiongroup5 = this.getPSModel4('dataentity.uiaction.IPSDEUIActionGroup', value, 'getPSDEUIActionGroup5') as IPSDEUIActionGroup;
    return this.psdeuiactiongroup5;
  }

  get psDEUIActionGroup5(): IPSDEUIActionGroup | null {
    return this.getPSDEUIActionGroup5();
  }

  getPSDEUIActionGroup5Must(): IPSDEUIActionGroup {
    const value = this.getPSDEUIActionGroup5();
    if (value == null) {
      throw new Error('未指定界面行为组5');
    }
    return value;
  }

  protected psdeuiactiongroup6: IPSDEUIActionGroup | null = null;

  getPSDEUIActionGroup6(): IPSDEUIActionGroup | null {
    if (this.psdeuiactiongroup6 != null) return this.psdeuiactiongroup6;
    const value = this.M.getPSDEUIActionGroup6;
    if (value == null) {
      return null;
    }
    this.psdeuiactiongroup6 = this.getPSModel4('dataentity.uiaction.IPSDEUIActionGroup', value, 'getPSDEUIActionGroup6') as IPSDEUIActionGroup;
    return this.psdeuiactiongroup6;
  }

  get psDEUIActionGroup6(): IPSDEUIActionGroup | null {
    return this.getPSDEUIActionGroup6();
  }

  getPSDEUIActionGroup6Must(): IPSDEUIActionGroup {
    const value = this.getPSDEUIActionGroup6();
    if (value == null) {
      throw new Error('未指定界面行为组6');
    }
    return value;
  }

  get cls(): string {
    return 'PSDEMobMDCtrlImpl';
  }

  instanceof(cls: string): boolean {
    if (cls == 'control.list.IPSDEMobMDCtrl') return true;
    return super.instanceof(cls);
  }
}
